//Header File for a Groovey Renderer Class

#ifndef G_RENDERER
#define G_RENDERER

#include "gparticle_list.hpp"

class GRenderer{
	public:
		GRenderer();
		
		///pre conditions are trivial in general
		
		///Render: specific Precondition! ::: GPList must be filled with ready to render particles
		void Render(GParticle_List& GPList);	///result: GPList is rendered to screen Only ONCE!
		
	//////
	//////Privates:
	//////
	private:
		///no real pre conditions for state change other than that the previous state has finished
		void nextState();///result: the renderer is ready for the next state to occur
		
		//state is rather important. We really need this guy private. Renderer alone can change state
		int state;
};

#endif
